package com.songshuai.webapi.permission.service;

import com.songshuai.webapi.baseapi.dto.feign.response.NavAndFuncByRoleResDto;
import com.songshuai.webapi.permission.dto.request.FunctionAddReqDto;
import com.songshuai.webapi.permission.dto.request.FunctionListReqDto;
import com.songshuai.webapi.permission.dto.request.FunctionUpdateReqDto;
import com.songshuai.webapi.permission.dto.response.FunctionListResDto;
import com.songshuai.webapi.permission.dto.response.FunctionsLoginResDto;
import com.songshuai.webapi.permission.model.YxFunctions;

import java.util.List;

public interface FunctionsService {

    //根据登录用户id查询功能列表
    List<FunctionsLoginResDto> queryLoginFunctionList(Integer appId);

    //根据appId和功能名查询功能列表
    List<FunctionListResDto> queryFunctionListByPage(FunctionListReqDto parmDto);

    //通过key获取功能
    YxFunctions queryFunctionByKey(String functionKey);

    //新增功能
    boolean addFunction(FunctionAddReqDto parmDto);

    //修改功能
    boolean updateFunction(FunctionUpdateReqDto parmDto);

    //删除功能
    boolean deleteFunction(Integer functionId);

    /**
     * 根据角色id获取功能key
     * @param roleId
     * @return
     */
    List<NavAndFuncByRoleResDto> queryFunctionKeyByRole(Integer roleId);

    /**
     * 根据功能id获取功能信息
     * @param functionId
     * @return
     */
    YxFunctions queryFunctionByFuncId(Integer functionId);

}
